package bintree.map_set.leetcode;

import java.util.HashSet;
import java.util.Locale;
import java.util.Scanner;
import java.util.Set;

/**
 * 坏掉的键
 * @author yuisama
 * @date 2022/05/19 20:18
 **/
public class BadKey {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String expectedStr = null;
        String actualStr = null;
        while (scanner.hasNextLine()) {
            expectedStr = scanner.nextLine();
            actualStr = scanner.nextLine();
        }
        // 输出的字母需要大写，都转为大写处理
        expectedStr = expectedStr.toUpperCase();
        actualStr = actualStr.toUpperCase();
        // 遍历实际输入的字符串，存入到Set中
        Set<Character> set = new HashSet<>();
        for (int i = 0; i < actualStr.length(); i++) {
            set.add(actualStr.charAt(i));
        }
        // 拿着实际输入的set去遍历期望输入的字符串
        // 所谓的坏键就是期望中有，而实际中不存在的字符
        // 因为期望中存在而实际不存在的字符有可能有多个，因此输出时需要过滤重复元素
        Set<Character> single = new HashSet<>();
        for (int i = 0; i < expectedStr.length(); i++) {
            char c = expectedStr.charAt(i);
            // 坏键就是期望中存在，但是实际不存在
            if (!set.contains(c)) {
                if (single.add(c)) {
                    System.out.print(c);
                }
            }
        }
    }
}